package game.block;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;

public interface Constants {

    public static final String NORMAL_TILE = "data/art/orange.png";
    public static final String FIRE_TILE = "data/art/orangeDark.png";
    public static final String HOVER_TILE = "data/art/green.png";
    public static final String MOVINGTO_TILE = "data/art/blue.png";
    public static final String STONE_TILE = "data/art/blueStone.png";
    public static final String WALL_TILE = "data/art/darkgray.png";
    public static final String KING_TILE = "data/art/purpleKing.png";
    public static final String JUMP_TILE = "data/art/whiteJump3.bmp";
    public static final String EXPLODE_TILE = "data/art/redBomb.png";
    public static final String QUICKSAND_TILE = "data/art/quicksand.png";
    public static final String SPIRAL = "data/art/spiral.png";
    public static final String SPIKE_UP = "data/art/spikes.png";
    public static final String SPIKE_DOWN = "data/art/spikesDown.png";
    public static final String HOLE = "data/art/hole.png";
    public static final String ICE = "data/art/ice.png";
    public static final String TELEPORT = "data/art/teleport.png";
    public static final String BORDER = "data/art/border.png";
    public static final String SANDSTONE_TILE="data/art/yellowSand.png";
    public static final String BASIC_TILE="data/art/tealBasic.png";
    public static final String FLAG_TILE="data/art/flag2.png";
    public static final String BACKGROUND="data/art/background2.png";
    public static final String BACKGROUNDMAIN="data/art/background2.png";

    public static  Music MUSIC1 = Gdx.audio.newMusic(Gdx.files.internal("data/sound/puzzle_music1.mp3"));
    public static  Music MUSIC2 = Gdx.audio.newMusic(Gdx.files.internal("data/sound/puzzle_music2.mp3"));
    public static  Music MUSIC3 = Gdx.audio.newMusic(Gdx.files.internal("data/sound/puzzle_music3.mp3"));
    public static  Music MUSIC4 = Gdx.audio.newMusic(Gdx.files.internal("data/sound/puzzle_music4.mp3"));

    public static final Sound hoverSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/blockHoverAdjacent.mp3"));
    public static final Sound flagSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/flag.mp3"));
    public static final Sound dieingSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/die.mp3"));
    public static final Sound explodeSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/explode.wav"));
    public static final Sound jumpSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/jump.wav"));
    public static final Sound respawnSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/respawn.mp3"));
    public static final Sound undoSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/undo.wav"));
    public static final Sound fireSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/fire.mp3"));
    public static final Sound iceSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/ice.mp3"));
    public static final Sound holeSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/hole.wav"));
    public static final Sound quicksandSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/quicksand.mp3"));
    public static final Sound spikeSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/spike.mp3"));
    public static final Sound teleportSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/teleport.wav"));
    public static final Sound triggerSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/trigger.wav"));
    public static final Sound windSound = Gdx.audio.newSound(Gdx.files.internal("data/sound/wind.wav"));
    

    public enum SOUND {
        HOVER(0), FLAG(1), DIEING(2), EXPLODE(3), JUMP(4), RESPAWN(5), UNDO(6), FIRE(7),ICE(8),
        HOLE(9),QUICKSAND(10),SPIKE(11),TELEPORT(12),TRIGGER(13), WIND(14);
        private final int value;

        private SOUND(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    public static Sound[] soundList = { hoverSound, flagSound, dieingSound, explodeSound, jumpSound, respawnSound, 
    	undoSound,fireSound,iceSound,holeSound,quicksandSound,spikeSound,teleportSound,triggerSound, windSound };

    public static final float TURN_LENGTH = 0.25F;
    public static final float SCALE = 0.25f;
    public static final float MAX_VELOCITY = 20;
    public static final float TILE_SIZE = 64 * SCALE;
    public static int SCREEN_WIDTH = (int) ((float) Gdx.graphics.getWidth() * SCALE);
    public static int SCREEN_HEIGHT = (int) ((float) Gdx.graphics.getHeight() * SCALE);
    public static int GAME_WIDTH = (int) (SCREEN_WIDTH / TILE_SIZE);
    public static int GAME_HEIGHT = (int) (SCREEN_HEIGHT / TILE_SIZE);

    public enum COLOR {
        BLANK, HOVER, MOVINGTO, EXPLODE
    };

    public enum TYPE {
        KING, WOOD, STONE, JUMP, SPEED, SAND, EXPLODE;
    }

    public enum TRAPTYPE {
        QUICKSAND, SPIKE, FIRE, ICE, AXE, HOLE, TELEPORT, TRIGGER, WIND;
    }

}
